ESP32芯片IO解读

您所在的位置:网站首页 esp32 -c3 ESP32芯片IO解读

ESP32芯片IO解读

#ESP32芯片IO解读| 来源: 网络整理| 查看: 265

我们使用一个开发板最重要得就是知道引脚得定义.所以我们有必要查到精确的资料,这篇文章很有用.也是我日后要查找得文章.

首先我们要明确一点,其实板子那么大,有用的就是这个核心的芯片

这个芯片上面的引脚引出来做相应的功能.

ESP32芯片具有48个功能齐全的引脚。并非所有ESP32开发板上的所有引脚都裸露,并且有些引脚无法使用。

ESP32外设包括:

18个模数转换器(ADC)通道3个SPI接口3个UART接口2个I2C接口16个PWM输出通道2个数模转换器(DAC)2个I2S接口10个电容式感应GPIO

ADC(模拟到数字转换器)和DAC(数字到模拟转换器)功能分配给特定的静态引脚。但是,你可以确定哪些引脚是UART,I2C,SPI,PWM等–只需要在代码中分配它们即可。由于ESP32芯片具有多路复用功能,因此这是可能的。

这个是36脚的,国外卖的是这个板子.'

国内是30脚的

此外,还有具有特定功能的引脚,这些引脚使它们不适用于特定项目。下表显示了哪些引脚最适合用作输入,输出以及需要谨慎使用的引脚。

以绿色突出显示的引脚可以使用。黄色突出显示的选项可以使用,但是你需要注意,因为它们可能主要在启动时具有意外行为。不建议将红色突出显示的引脚用作输入或输出。

ok是好

红的

绿色的

黄色就是疯狂暗示的引脚,懂了吧

仅输入引脚

GPIO 34至39是GPI –仅输入引脚。这些引脚没有内部上拉或下拉电阻。它们不能用作输出,因此只能将这些引脚用作输入:

GPIO 34GPIO 35GPIO 36GPIO 39ESP-WROOM-32上集成了SPI闪存

某些ESP32开发板公开了GPIO 6至GPIO 11。但是,这些引脚连接到ESP-WROOM-32芯片上的集成SPI闪存,不建议用于其他用途。因此,请勿在您的项目中使用这些引脚:

GPIO 6(SCK / CLK)GPIO 7(SDO / SD0)GPIO 8(SDI / SD1)GPIO 9(SHD / SD2)GPIO 10(SWP / SD3)GPIO 11(CSC / CMD)电容式触摸GPIO

ESP32具有10个内部电容式触摸传感器。它们可以感应任何带有电荷的东西的变化,例如人体皮肤。因此,他们可以检测到用手指触摸GPIO时引起的变化。这些引脚可以轻松集成到电容性焊盘中,并取代机械按钮。电容式触摸引脚还可以用于将ESP32从深度睡眠中唤醒。

这些内部触摸传感器连接到以下GPIO:

T0(GPIO 4)T1(GPIO 0)T2(GPIO 2)T3(GPIO 15)T4(GPIO 13)T5(GPIO 12)T6(GPIO 14)T7(GPIO 27)T8(GPIO 33)T9(GPIO 32)模数转换器(ADC)

ESP32具有18个12位ADC输入通道(而ESP8266仅具有1个10位ADC)。这些是可用作ADC和相应通道的GPIO:

ADC1_CH0(GPIO 36)ADC1_CH1(GPIO 37)ADC1_CH2(GPIO 38)ADC1_CH3(GPIO 39)ADC1_CH4(GPIO 32)ADC1_CH5(GPIO 33)ADC1_CH6(GPIO 34)ADC1_CH7(GPIO 35)ADC2_CH0(GPIO 4)ADC2_CH1(GPIO 0)ADC2_CH2(GPIO 2)ADC2_CH3(GPIO 15)ADC2_CH4(GPIO 13)ADC2_CH5(GPIO 12)ADC2_CH6(GPIO 14)ADC2_CH7(GPIO 27)ADC2_CH8(GPIO 25)ADC2_CH9(GPIO 26)

注意:使用Wi-Fi时不能使用ADC2引脚。因此,如果使用的是Wi-Fi,并且无法从ADC2 GPIO获取值,则可以考虑改用ADC1 GPIO,这样可以解决问题。

ADC输入通道具有12位分辨率。这意味着您可以获得的模拟读数范围为0至4095,其中0对应于0V,4095至3.3V。您还可以在代码上设置通道的分辨率以及ADC范围。

ESP32 ADC引脚没有线性行为。您可能将无法区分0和0.1V,或3.2和3.3V。使用ADC引脚时,请记住这一点。您将获得类似于下图所示的行为。

https://github.com/espressif/arduino-esp32/issues/92数模转换器(DAC)

ESP32上有2 x 8位DAC通道,可将数字信号转换为模拟电压信号输出。这些是DAC通道:

DAC1(GPIO25)DAC2(GPIO26)脉宽调制

ESP32 LED PWM控制器具有16个独立通道,可配置为生成具有不同属性的PWM信号。所有可用作输出的引脚都可以用作PWM引脚(GPIO 34至39无法生成PWM)。

要设置PWM信号,您需要在代码中定义以下参数:

信号频率占空比;PWM通道您要在其中输出信号的GPIO。I2C

ESP32有两个I2C通道,任何引脚都可以设置为SDA或SCL。当将ESP32与Arduino IDE结合使用时,默认的I2C引脚为:

GPIO 21(SDA)GPIO 22(SCL)

如果要使用其他引脚,则在使用线库时,只需调用:

Wire.begin(SDA, SCL);SPI

默认情况下,SPI的引脚映射为:

SPI

MOSI

MISO

CLK

CS

VSPI

GPIO 23

GPIO 19

GPIO 18

GPIO 5

HSPI

GPIO 13

GPIO 12

GPIO 14

GPIO 15

中断

所有GPIO都可以配置为中断。

Strapping Pins

ESP32芯片具有以下strapping pins:

GPIO 0GPIO 2GPIO 4GPIO 5(启动期间必须为高电平)GPIO 12(启动期间必须为LOW)GPIO 15(引导期间必须为高电平

我实在不会翻译这个了....

RTC GPIO

ESP32上有RTC GPIO支持。当ESP32处于深度睡眠状态时,可以使用路由到RTC低功耗子系统的GPIO。当超低功耗(ULP)协处理器运行时,这些RTC GPIO可用于将ESP32从深度睡眠中唤醒。以下GPIO可用作外部唤醒源。

RTC_GPIO0(GPIO36)RTC_GPIO3(GPIO39)RTC_GPIO4(GPIO34)RTC_GPIO5(GPIO35)RTC_GPIO6(GPIO25)RTC_GPIO7(GPIO26)RTC_GPIO8(GPIO33)RTC_GPIO9(GPIO32)RTC_GPIO10(GPIO4)RTC_GPIO11(GPIO0)RTC_GPIO12(GPIO2)RTC_GPIO13(GPIO15)RTC_GPIO14(GPIO13)RTC_GPIO15(GPIO12)RTC_GPIO16(GPIO14)RTC_GPIO17(GPIO27)开机时为高电平

一些GPIO在引导或复位时将其状态更改为HIGH或输出PWM信号。这意味着如果您有连接到这些GPIO的输出,则在ESP32复位或启动时,可能会得到意想不到的结果。

GPIO 1GPIO 3GPIO 5GPIO 6至GPIO 11(连接到ESP32集成SPI闪存–不建议使用)。GPIO 14GPIO 15启用(EN)

使能(EN)是3.3V稳压器的使能引脚。它已上拉,因此接地需要禁用3.3V稳压器。例如,这意味着您可以使用连接到按钮的此引脚来重启ESP32。

GPIO电流消耗

根据ESP32数据手册中的“推荐工作条件”部分,每个GPIO消耗的绝对最大电流为40mA。

ESP32内置霍尔效应传感器

ESP32还具有内置霍尔效应传感器,可检测其周围磁场的变化。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3